import { userAccountLogin, userMobileLogin, userMobileLoginMsg } from '@/api/user.js'
// 用户信息
export default {
  namespaced: true,
  state: {
    // 用户信息
    profile: {
      id: '',
      avatar: '',
      nickname: '',
      account: '',
      mobile: '',
      token: ''
    }
  },
  mutations: {
    updateUser (state, payload) {
      state.profile = payload
    }
  },
  actions: {
    //   账号密码登录
    async accountLogin (context, payload) {
      // 验证通过
      try {
        const ret = await userAccountLogin(payload)
        if (ret && ret.result) {
          // 登录成功，保存token
          context.commit('updateUser', ret.result)
          return true
        } else {
          // 登录失败
          return false
        }
      } catch {
        return false
      }
    },

    // 发送验证码操作
    async sendCode (context, mobile) {
      try {
        const ret = await userMobileLoginMsg(mobile)
        if (ret && ret.msg === '操作成功') {
          // 发送成功
          return true
        } else {
          // 发送失败
          return false
        }
      } catch {
        return false
      }
    },

    // 实现验证码登录
    async codeLogin (context, payload) {
      try {
        const ret = await userMobileLogin(payload)
        if (ret && ret.result) {
          // 登录成功，保存token
          context.commit('updateUser', ret.result)
          return true
        } else {
          return false
        }
      } catch {
        return false
      }
    }
  },
  getters: {}
}
